package com.hr.common.utils;

import java.util.Random;

public class RandomNumberGenerator {
    private final Random random = new Random();

    /**
     * 生成一个在0（包括）到max（不包括）之间的随机长整型数。
     *
     * @param max 指定的最大值，生成的随机数将小于这个值。
     * @return 在0到max之间的随机长整型数。
     */
    public Long generateRandomLong(Long max) {
        if (max <= 0) {
            throw new IllegalArgumentException("Max value must be positive.");
        }

        long randomNumber;
        do {
            randomNumber = Math.abs(random.nextLong());
        } while (randomNumber >= max);

        return randomNumber;
    }

    public static void main(String[] args) {
        RandomNumberGenerator generator = new RandomNumberGenerator();
        long max = 298775253289668L;
        long randomNumber = generator.generateRandomLong(max);
        System.out.println("随机生成的数: " + randomNumber);
    }
}
